Ruby 所感
書籍を使って体系的に勉強したときの感想を書いておく
良い
メソッド名末尾の? !に意味がある
アクセサメソッドの定義が楽
attr_accessor, attr_reader, attr_writer
数値と文字列が暗黙的に変換されない
falsyがfalseとnilのみ
これがあるから、nilを返すメソッドが多い気がするrmaruon.icon
最後に評価された値が返される(returnなしでも値が返される)
初めは見慣れないけど、記述量が減るのはいいrmaruon.icon
ifやwhileなどが文ではなく式
「最後に評価された値が返される」と合わせると結構強力?
5.timesとか1.step(10, 2)とか6.upto(12)とか書けるのが楽
正規表現リテラルがわかりやすいし、条件分岐が書きやすい
Pythonが書きづらいだけかもしれんrmaruon.icon
継承は単一継承のみ
ミックスインができるので問題ない
むしろ継承関係を把握しやすい
ミックスインはmoduleを使う
演算子の通称が面白い
begin節 (try)を再実行できるretry
便利
無限ループに気を付けないといけないが、
rescue修飾子でbegin/endを省略できる
驚きとか
繰り返し処理にforを使わない
代わりにeachを使う
これは意識しないとなかなか難しいrmaruon.icon
selfの意味が場所によって変わる
文字列がミュータブル
シンボルを使ったり、freezeを使ったりすることを検討する場合がある
ブロック
エイリアスメソッド
インデントが合ってないように見える書き方がある
case~when~endとか、def内でbegin/endを省略するrescueとか